Infusion pump automation system and method

ABSTRACT

An infusion pump automation system and method includes an infusion pump, an infusion pump and a remote processor. The remote processor is remote to the infusion pump and includes a controller interface and a controller, such that the controller bidirectionally communicates with the infusion pump, determines a current infusion state of the infusion pump and a current infusion pump user interface state and accepts a command to change the infusion state of the infusion pump from an external server. The controller determines if the command is consistent with the current infusion state of the infusion pump and the current infusion pump user interface state, executes the command if the command is able to be successfully executed, and confirms that the command is successfully executed.

BACKGROUND OF THE INVENTION Field of the Invention

One or more embodiments of the invention are related to the field of infusion pump automation and execution of one or more commands generated and triggered remotely. Specifically, one or more embodiments relate to a system and method of qualifying whether one or more commands, prior to executing such commands, may be successfully executed based on a desired infusion state of an infusion pump, a current infusion state of the infusion pump, and a current infusion pump user interface state.

Description of the Related Art

Current solutions for automated medication delivery systems typically involve devices with three main components; a diagnostic device or sensor, a closed-loop control algorithm and an infusion system. Such devices, generally, may be integrated to be part of a distributed system that communicates in a continuous or periodic manner. In using a continuous or periodic manner of communication, typically, the infusion system may involve any number of delivery routes, such as intravenous or subcutaneous routes. Furthermore, using current solutions, the three main device components are usually managed by a higher-level coordination software system that ensures one or more events occur in an appropriate manner.

For example, one typical system for automated medication delivery includes an artificial pancreas or closed-loop control system for managing glucose, wherein insulin levels are automatically adjusted based on a patient's glucose level that may be observed over time. In using such a system, generally, adjustment is directed by an adaptive control system that uses an error factor between observed glucose values and desired glucose values in order to calculate the insulin and/or nutrition quantities that are to be delivered over time. Other similar systems are used for anti-coagulation management, pain management, fluid management, control of cardiovascular parameters and sedation management.

Another example of a current automated medication delivery system typically uses remote commands to initialize an IV infusion, change parameters of the IV infusion, or modify the state of the IV infusion. In such a system, for example, the commands are generated by a caregiver using an input device, or using a computerized decision support system designed to achieve a particular therapeutic objective.

For example, United States Patent Publication 2010/0095229 to Dixon et al., entitled “Graphical User Interface for Glucose Monitoring System”, discloses a graphical user interface for control of glucose with navigational aids, wherein a user may navigate between icons and select one or more outputs that display glucose data. However, the system appears to lack any teaching or suggestion of an infusion pump automated system that may accept commands to change an infusion state of the infusion pump, and determine if the commands are consistent with a current infusion state of the infusion pump in order to be executed successfully.

United States Patent Publication 20070213598 to Howard et al., entitled “System for Maintaining Drug Information and Communicating with Medication Delivery devices”, discloses a system for maintaining drug data and communicating with delivery devices. However, the system appears to lack any teaching or suggestion of an infusion pump automated system that may accept commands to change an infusion state of the infusion pump, and determine if the commands are consistent with a current infusion state of the infusion pump in order to be executed successfully.

United States Patent Publication 20080320387 to Sasaki et al., entitled “Information Displaying Device and Information Displaying Method”, discloses an information displaying device related to analyzing a graphical user interface screen, to store and manage displayed information for analysis of specified information. The system of Sasaki et al. appears to lack any teaching or suggestion of an infusion pump automated system that may accept commands to change an infusion state of the infusion pump, and determine if the commands are consistent with a current infusion state of the infusion pump in order to be executed successfully.

United States Patent Publication 20080041942 to Aissa, entitled “Biometric Multi-Purpose Terminal, Payroll and Work Management System and Related Methods”, discloses a biometric terminal that uses a fingerprint reader, or other biometric information from a user, in order to authenticate the user, and as such provides security. The system and related methods, however, appear to lack any teaching or suggestion of an infusion pump automated system that may accept commands to change an infusion state of the infusion pump, and determine if the commands are consistent with a current infusion state of the infusion pump in order to be executed successfully.

United States Patent Publication 20100121170 to Rule, entitled “Fluid Component Analysis System and Method for Glucose Monitoring and Control”, discloses methods and systems for determining concentrations in a sample, such as bodily fluid, for glycemic control. For example, elements of Rule are related to glucose management and patient dosing via a remote communication interface. The systems and methods, however, appear to lack any teaching or suggestion of an infusion pump automated system that may accept commands to change an infusion state of the infusion pump, and determine if the commands are consistent with a current infusion state of the infusion pump in order to be executed successfully.

United States Patent Publication 20010051787 to Haller et al., entitled “System and Method of Automated Invoicing for Communications Between an Implantable Medical Device and a Remote Computer System or Health Care Provider”, discloses a system for automatically generating invoices for medical services provided to a patient, where, for example, an implantable medical device is capable of communicating with a communication module, mobile telephone, a means for generating an invoice and a remote computer system. Although the communication module and/or mobile telephone may receive information from the implantable medical device or relay the information thereto, the system appears to lack any teaching or suggestion of an infusion pump automated system that may accept commands to change an infusion state of the infusion pump, and determine if the commands are consistent with a current infusion state of the infusion pump in order to be executed successfully.

U.S. Pat. No. 7,835,927 to Schlotterbeck et al., entitled “Medication Management System”, discloses a system and method for confirming a medication administration has been correctly programmed, such that a medical database carrier may compare delivery parameters of the medication entered into a medication administration device in order to ensure the medication is delivered in according with medical guidelines. Although information of medication delivery may be communicated between a control system and a caregiver facility, the system of Schlotterbeck et al. appears to lack any teaching or suggestion of an infusion pump automated system that may accept commands to change an infusion state of the infusion pump, and determine if the commands are consistent with a current infusion state of the infusion pump in order to be executed successfully.

For example, United States Patent Publication 20010031944 to Peterson et al., entitled “Drug Pump Systems and Methods”, is directed towards a drug pump system and method, for example, including a computer for remote communication and control of a drug pump that uses a closed loop system for automated testing of the drug pump. The computer, for example, may also simulate the drug pump for training purposes, reprogram the drug pump and test for the operation of the drug pump. In addition, it appears as though data is transferred to and from the drug pump. However, it appears as though the system of Peterson et al. does not disclose or suggest executing infusion commands based on a state of an infusion pump and state of an infusion pump user interface, does not discloses or suggest determining whether the infusion pump is able to execute the command and confirming whether the command has been executed safely and successfully.

In summary, known systems generally include analyzing a graphical user interface; however, using known systems, for example, execution of one or more unqualified commands by an IV infusion pump could be inconsistent, impossible or result in significant safety and security risks. There are no known infusion pump systems that use current infusion pump states and current user interface states to determine whether one or more commands, generated remotely, are qualified to be safely and successfully executed, for example, to change an infusion state of the infusion pump and infusion therapy thereof. For at least the reasons described above there is a need for infusion pump automation system and method.

SUMMARY OF THE INVENTION

One or more embodiments described in the specification are related to an infusion pump automation system and method including an infusion pump having an infusion pump user interface and associated infusion pump infusion state and infusion pump user interface state, and a remote processor. In at least one embodiment of the invention, the remote processor is remote to the infusion pump and includes a controller interface and a controller coupled with the controller interface.

In one or more embodiments, the controller may bidirectionally communicate with the infusion pump, determine a current infusion state of the infusion pump and a current infusion pump user interface state and accept a command to change the infusion state of the infusion pump, for example to a desired infusion state. In addition, by way of one or more embodiments of the invention, the controller may determine if the command to change the infusion state of the infusion pump is consistent with the current infusion state of the infusion pump and consistent with the current infusion pump user interface state. The controller may then execute the command to change the infusion state of the infusion pump if the command to change the infusion state of the infusion pump is able to be successfully executed based on the command, the current infusion state of the infusion pump and the current infusion pump user interface state. The controller may then confirm that the command is successfully executed. In one or more embodiments, the command may be generated from an external server, wherein the external server is remote to the controller.

In at least one embodiment, the controller may associate the infusion pump with a medication, a dose and a patient, and, for example, in one or more embodiments, the command to change the infusion state of the infusion pump may include a medication, a dose and a patient. Furthermore, in at least one embodiment, the controller may translate the command into an infusion specific command associated with a particular type of infusion pump, for example, using a translator. In one or more embodiments of the invention, the controller may display the command on the infusion pump user interface, accept a confirmation input button request from the infusion pump, and send a simulated button press command to the infusion pump to initiate infusion or any combination thereof. By way of one or more embodiments, the controller may also, or alternatively, obtain input from the infusion pump user interface, from a user, to enable manual control takeover of the infusion pump. In at least one embodiment, the controller may authenticate a user before the execution of the command.

In one or more embodiments, the controller may log infusion status to a log file. For example, the controller may log infusion status at a conclusion of a duration of the infusion, wherein the duration of the infusion may be a predefined value, for example approximately 5 minutes. It is noted, however, that the duration of the infusion, as one of ordinary skill in the art would appreciate, may be more or less than 5 minutes, depending on a type of infusion.

In at least one embodiment of the invention, the controller may also associate the infusion pump with at least two pump channels, and verify the medication on each of the at least two pump channels.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features and advantages of the invention will be more apparent from the following more particular description thereof, presented in conjunction with the following drawings wherein:

FIG. 1 illustrates an architectural view of at least one embodiment of the system.

FIG. 2 illustrates a flow chart for the main elements of the system and method.

FIG. 3 illustrates a flow diagram for the main functional elements of the system and method.

FIG. 4 illustrates an exemplary user interface of an infusion pump shown in FIG. 1 .

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

An infusion pump automated system and method will now be described. In the following exemplary description numerous specific details are set forth in order to provide a more thorough understanding of embodiments of the invention. It will be apparent, however, to an artisan of ordinary skill that the present invention may be practiced without incorporating all aspects of the specific details described herein. In other instances, specific features, quantities, or measurements well known to those of ordinary skill in the art have not been described in detail so as not to obscure the invention. Readers should note that although examples of the invention are set forth herein, the claims, and the full scope of any equivalents, are what define the metes and bounds of the invention.

FIG. 1 illustrates an architectural view of at least one embodiment of the system. As shown in FIG. 1 , one or more embodiments of the invention include an infusion pump automation system 100 including an infusion pump 101 having an infusion pump user interface (see FIG. 4 ) and associated infusion pump infusion state and infusion pump user interface state, and a remote processor 102. In at least one embodiment of the invention, the remote processor is remote to the infusion pump and includes a controller interface 104 and a controller 103 coupled with the controller interface 104. By way of one or more embodiments of the invention, the controller interface 104 may include a custom printed circuit board (PCB) and a controller interface software that may enable direct control of the infusion pump 101, such as infusion pump 101 hardware, using the software running on the remote processor 102. In one or more embodiments a simulator 107 may be utilized to provide a localized interface for different types of infusion pumps and so as to translate HTTP/XML based or any other types of commands such as binary commands to Internet Protocol (IP) or other commands or protocols that the infusion pump may interface with.

In one or more embodiments, the controller 103 may bidirectionally communicate with the infusion pump 101, determine a current infusion state of the infusion pump 101 and a current infusion pump user interface state and accept a command to change the infusion state of the infusion pump 101. In addition, by way of one or more embodiments of the invention, the controller 103 may determine if the command to change the infusion state of the infusion pump 101 is consistent with the current infusion state of the infusion pump 101 and consistent with the current infusion pump user interface state. If so the controller may execute the command to change the infusion state of the infusion pump 101 if the command to change the infusion state of the infusion pump 101 is able to be successfully executed based on the command, the current infusion state of the infusion pump and the current infusion pump user interface state. The controller may also confirm that the command is successfully executed. In one or more embodiments, the command may be generated locally within the processor 102 via simulator 107 or via an external server (as discussed regarding FIG. 3 below), wherein the external server is remote to the processor 102 and wherein the external server may be a patient and/or healthcare provider system. In one or more embodiments, the generated command, as generated from the external server, may include one or more files stored in a specified directory, wherein the external server, automatically or manually via a user and/or healthcare provider may write the one or more files including the patient, medication, dose and pump channel data. In one or more embodiments, the one or more files may include an Extensible Markup Language (XML) file. For example, the user may input a user identification and infusion pump identification bar code in the one or more files. In one or more embodiments, the files, such as the XML files, may be communicated via HTTP post requests and responses or in any other manner or using any other communications protocol.

In at least one embodiment, the controller 103 may associate the infusion pump 101 with a medication, a dose and a patient, and, for example, in one or more embodiments, the command to change the infusion state of the infusion pump 101 may include a medication, a dose and a patient. In one or more embodiments, the medication may include one or more of insulin and dextrose for example. Furthermore, in at least one embodiment, the controller 103 may translate the command into an infusion specific command associated with a particular type of infusion pump, for example, using a bridge or translator 106 as part of the controller interface 104. In at least one embodiment, the controller interface 104 may also include an automation server 105. The automation server 105, for example, may bidirectionally communicate with the controller 103, the translator 106 and the infusion pump 101 via the simulator 107 for example in order to poll one or more directories from one or more of the infusion pump 101, the controller 103 and the external server to detect one or more written files, commands and data associated with the one or more commands, or any combination thereof. The automation server may communicate the files, commands and/or data to determine if the infusion pump 101 is in an appropriate mode for communication and/or the desired infusion.

In one or more embodiments of the invention, the controller 103 may display the command on the infusion pump user interface, using a display such as a touch screen display, accept a confirmation input button request from the infusion pump 101, and send a simulated button press command to the infusion pump 101 to initiate infusion. In at least one embodiment of the invention, the infusion pump 101 may immediately and automatically execute a specified program from within the infusion pump 101, such as using a drug library included in the infusion pump 101 hardware and/or software, associated with the generated command. By way of one or more embodiments, the controller 103 may in addition to, or alternatively, obtain input from the infusion pump user interface, from a user, to enable manual control takeover of the infusion pump 101. In at least one embodiment, the controller 103 may authenticate a user before the execution of the command.

In one or more embodiments, the controller 103 may log infusion status to a log file, wherein the log files may be transferred to a specified directory. For example, the controller may log infusion status at a conclusion of a duration of the infusion, wherein the duration of the infusion may be any predefined value, for example approximately 5 minutes. In at least one embodiment, the log infusion status may include volume of medication infused. Once the infusion has been activated, by the remote processor 102 for example in one or more embodiments, the infusion may not be interrupted, except via the infusion pump user interface, from one or more users, such as one or more healthcare providers. It is noted, however, that the duration of the infusion, as one of ordinary skill in the art would appreciate, may be more or less than 5 minutes or any other value, depending on a type of infusion.

In at least one embodiment of the invention, the controller 103 may associate the infusion pump 101 with at least two pump channels, and verify the medication on each of the at least two pump channels. In at least one embodiment, verification of the medication on each of the at least two pump channels may be done manually, from a user such as a healthcare provider. As such, for example, in one or more embodiments, the automation server 105 may communicate the one or more files, log files, commands and data to one or more appropriate channels of the at least two pump channels via simulator 107 to confirm that the infusion pump 101 is in an appropriate mode for communication and/or the desired infusion.

FIG. 2 illustrates a flow chart for the main elements of the system and method. As shown in FIG. 2 , at 201, the controller 103 may bidirectionally communicate with the infusion pump 101 having a user interface and determine a current infusion state of the infusion pump 101 and a current infusion pump user interface state at 202. Furthermore, in at least one embodiment, the controller may accept a command to change the infusion state of the infusion pump 101 at 203, and determine if the command to change the infusion state of the infusion pump 101 is consistent with the current infusion state of the infusion pump and consistent with the current infusion pump user interface state at 204. By way of one or more embodiments, the controller 103 may execute the command to change the infusion state of the infusion pump 101 if the command to change the infusion state of the infusion pump 101 is able to be successfully executed based on the command, the current infusion state of the infusion pump 101 and the current infusion pump user interface state, at 205, and confirm that the command is successfully executed at 206. For example embodiments of the invention may check the user interface of the infusion pump as a sanity check to determine if the state of the infusion pump is reflected in the infusion pump user interface and/or visa versa. This level of robust determination of the state of an infusion pump before implementing a desired infusion is unknown in the art and may save lives by checking the user interface and infusion state before attempting to implement an infusion that may be dangerous based on the current infusion for example.

FIG. 3 illustrates a flow diagram for the main functional elements of the system and method. As shown in FIG. 3 , the system 100 may further include an external server 301. The external server 301, in at least one embodiment, is in communication with the remote processor 102 and the infusion pump 101. It is noted however that the communication between the external server 301, the remote processor 102 and the infusion pump 101 may include bidirectional communication, as one of ordinary skill in the art would appreciate. As shown in FIG. 3 , the external server 301, by way of one or more embodiments, may generate a command to change an infusion state of the infusion pump 101 that is relayed and transmitted to the remote processor 102 for example using a communication interface (not shown). The communication interface, in one or more embodiments of the invention, may include one or more of a wireless communication interface and/or a hard-wired communication interface. In at least one embodiment, the remote processor 102 may identify the infusion pump 101, check for any errors that may currently be present and associated with the external server 301 and/or the infusion pump 101. Such errors may include, for example, one or more of a communication error, a connection error, a low-power error, an infusion error, an adaptability error or any combination thereof. In one or more embodiments, the remote processor 102 may request the infusion pump infusion state and infusion pump user interface state from the infusion pump 101. Data from the remote processor 102 is then relayed and transmitted to the infusion pump 101, for example using one or more communication interfaces as discussed above. The infusion pump 101, in at least one embodiment, may display the infusion pump infusion state and infusion pump user interface state, transmit and relay the displayed information to the remote processor 102. By way of one or more embodiments, the infusion pump 101 may receive the generated command and request confirmation via the touch screen from a user or healthcare provider, for example, for manual confirmation.

In one or more embodiments, the remote processor 102 determined whether to qualify the command as generated from the external server 301 based on the infusion pump infusion state and infusion pump user interface state as relayed and transmitted from the infusion pump 101. Qualification of the generated command, in at least one embodiment, is based on whether the generated command is able to be successfully and safely executed by the infusion pump 101 and/or by the external server 301. The remote processor 102, for example, may then determine if the generated command does qualify or does not qualify, using the controller 103. If the generated command does not qualify, in at least one embodiment, the remote processor 102 may relay and transmit an unsuccessful qualification signal, such as a text-based message or software code, to the external server 301, wherein the external server 301 may then confirm that the generated command is unsuccessful. If the generated command does qualify, in at least one embodiment, the remote processor 102 may relay and transmit a successful qualification signal, such as a text-based message or software code, and execute the generated command to the infusion pump 101. In one or more embodiments, the qualification signals may also comprise one or more of a sound alert, a vibratory alert, a visual alert, and a picture message, or any combination thereof.

By way of one or more embodiments, the infusion pump 101 may accept the generated command, and confirm that the generated command to change the infusion state of the infusion pump 101 may be successfully and safely executed by the infusion pump 101 given the current infusion pump infusion state and infusion pump user interface state. In at least one embodiment, the infusion pump 101 may relay and transmit the accepted generated command and successful infusion status or results to the remote processor 102, wherein the remote processor 102 may confirm the command execution by the infusion pump 101, broadcast the results to one or more of the infusion pump 101, the external server 301, or any other user device that may be in direct or indirect communication with the remote processor 102. In at least one embodiment, the remote processor 102, using the controller 103 for example, may log infusion status to one or more log files, and relay and transmit the successful command execution, the broadcasted results and the one or more infusion status log files to the external server 301. By way of one or more embodiments, the external server 301 may accept and confirm the successful command execution, the broadcasted results and the one or more infusion status log files.

In at least one embodiment of the invention, the system may include navigational awareness and may read the infusion pump user interface screen and verify that the system is consistent with the generated command. In one or more embodiments of the invention, the system and method enable independent evaluation of the infusion pump 101 infusion state, thus enhancing infusion and infusion pump 101 security. In addition, embodiments of the invention, using the remote processor 102 for example, may independently confirm that a command was successfully executed on the infusion pump 101. In addition, embodiments of the invention determine whether the infusion pump 101 is in a suitable state for receiving a generated command, minimizing any failures that may occur if the infusion pump 101 is in an incorrect state, as would be displayed using the infusion pump user interface and/or via the transmitted and relayed information. As such, using embodiments of the invention, the system may determine whether a generated command and auto programming of the infusion pump 101 may be accomplished, without changing or modifying the infusion pump software.

FIG. 4 illustrates an exemplary user interface of an infusion pump. As shown, user interface 401 includes status areas 410 showing for example a type of drug and/or infusion rates or warnings if the infusion is stopped. A secondary or piggyback drug may be shown on the right side of the interface for example drug “B”. Status area 420 may show the current infusion state, here shown as STOPPED. Status area 430 may show the dose and rate and/or time remaining for example and may also show any volume to be infused (VTBI), total volume infused or any other information related to the current infusion. Status area 440 may show an alarm condition, here a “Distal Occlusion”. The current infusion state may include any combination of these values for example and may be obtain either directly from the infusion pump or via translation of the infusion pump user interface into any type data for transmission to the controller. For example, in one or more embodiments, the infusion pump user interface state may be translated via optical character recognition or from reading binary values in memory and converting the information to a format that is either human readable or machine readable. In one or more embodiments, the user interface state may be converted to text, HTML, XML, or any other format. As shown in user interface 401, an example text conversion embodiment may produce the following text based message for transmission to the controller.

Table 1—Infusion Pump User Interface State Embodiment

PrsCmnWindow ID(2): (MainWindow) BEGIN DUMP

-   -   PrsWdgAlarmManager—ID(361): AlarmManager BEGIN DUMP         -   PrsWdgAlarmDisplay—ID(1305): AlarmlButton BEGIN DUMP             -   PrsWdgAlarmDisplay—Channel ID: A             -   PrsWdgAlarmDisplay—Error Code:             -   PrsWdgAlarmDisplay—Base Text: DISTAL OCCLUSION             -   PrsWdgAlarmDisplay—Analysis Text: Delivery stopped.             -   PrsWdgAlarmDisplay—Remedy Text: Clear occlusion below                 pump. Restart delivery. If not priming, check occlusion                 sensitivity setting if alarm persists.             -   PrsWdgAlarmDisplay—Detail Text: Delivery stopped. Clear                 occlusion below pump. Restart delivery. If not priming,                 check occlusion sensitivity setting if alarm persists.                 PrsWdgAlarmDisplay—Urgency: High PrsWdgAlarmDisplay—User                 Action: Press here to minimize all alarms.             -   PrsWdgAlarmDisplay—Elapsed Time: 00:01:03             -   PrsWdgAlarmDisplay—ID(1305): AlarmlButton END DUMP         -   PrsWdgAlarmManager—ID(361): AlarmManager END DUMP         -   PrsCmnWindow ID(7): (AchannelWindow) BEGIN DUMP             -   PrsWdgHelpTextArea—ID(310): HelpTextArea BEGIN DUMP                 -   PrsWdgPrompt—ID(424): HelptextLinelPrompt—Text:                     Press Start to resume infusion. Press Delayed Start                     to begin                 -   PrsWdgPrompt—ID(425): HelptextLine2Prompt—Text:                     countdown. Basic button to view or edit program.                 -   PrsWdgPrompt—ID(426): HelptextLine3Prompt—Text:             -   PrsWdgHelpTextArea—ID(310): HelpTextArea END DUMP             -   PrsCmnWindow ID(8): (TherapyWindow) BEGIN DUMP                 -   PrsCmnWindow ID(38): (B asicTherapyStoppedWindow)                     BEGIN DUMP                 -    PrsWdgPrompt—ID(615): NearViewDoseTitlePrompt—Text:                     Dose:                 -    PrsWdgPrompt—ID(626): NearViewDoseUnitsPrompt—Text:                     mL/hr                 -    PrsWdgPrompt—ID(614): NearViewDosePrompt—Text: 100                 -    PrsWdgChannelButton—ID(1526):                     DelayedStartButton—Status: ACTIVE Text: Delayed                     Start A             -   PrsWdgChannelButton—ID(1525): StartProgramButton—Status:                 ACTIVE Text: Start Basic A             -   PrsWdgPrompt—ID(632):                 NearViewVolumeinfusedTitlePrompt—Text: Volume Infused:                 -   PrsWdgPrompt—ID(634):                     NearViewVolumeinfusedUnitsPrompt—Text: mL                 -   PrsWdgPrompt—ID(633):                     NearViewVolumeinfusedPrompt—Text: 0.49                 -   PrsWdgPrompt—ID(618): NearViewTimeTitlePrompt—Text:                     Time Remaining:                 -   PrsWdgPrompt—ID(629): NearViewTimeUnitsPrompt—Text:                     hh:mm                 -   PrsWdgPrompt—ID(623): NearViewTimePrompt—Text: 01:00                 -   PrsWdgPrompt—ID(617): NearViewVtbiTitlePrompt—Text:                     VTBI:                 -   PrsWdgPrompt—ID(628): NearViewVtbiUnitsPrompt—Text:                     mL/hr                 -   PrsWdgPrompt—ID(622): NearViewVtbiPrompt—Text: 99.6                 -   PrsWdgPrompt—ID(616): NearViewRateTitlePrompt—Text:                     Rate:                 -   PrsWdgPrompt—ID(627): NearViewRateUnitsPrompt—Text:                     mL/hr                 -   PrsWdgPrompt—ID(621): NearViewRatePrompt—Text: 100                 -   PrsWdgPrompt—ID(613):                     NearViewConcentrationPrompt—Text:                 -   PrsWdgPrompt—ID(612): NearViewinfusionPrompt—Text:                     Other Drug                 -   PrsWdgPrompt—ID(611): NearViewTitlePrompt—Text: A:                     STOPPED BASIC             -   PrsCmnWindow ID(38): (BasicTherapyStoppedWindow) END                 DUMP             -   PrsWdgKeypad ID(307): ChannelKeypad BEGIN DUMP                 -   PrsWdgButton—ID(1476): PiggybackButton—Status:                     ACTIVE Text: Piggyback                 -   PrsWdgButton—ID(1301): AdvancedButton—Status:                     INACTIVE Text: Advanced                 -   PrsWdgButton—ID(1483): ProgramButton—Status: ACTIVE                     Text: Basic                 -   PrsWdgButton—ID(1330): BolusButton—Status: ACTIVE                     Text: Bolus                 -   PrsWdgKeypad ID(307): ChannelKeypad END DUMP             -   PrsCmnWindow ID(8): (TherapyWindow) END DUMP             -   PrsWdgChannelTab—ID(1353): ChannelATabButton BEGIN DUMP             -   Channel Identifier—Text: A                 -   PrsWdgButton—ID(1353): ChannelATabButton—Status:                     ACTIVE Text:                 -   State: No Dose/Amount or Rate Limits                 -   PrsWdgPrompt—ID(442): ChannelTabinfusionPrompt—Text:                     Other Drug                 -   PrsWdginfusionIcon—ID(356): InfusionIconA—Text:                     Basic             -   PrsWdgChannelTab—ID(1353): ChannelATabButton END DUMP             -   PrsWdgChannelTab—ID(1356): ChannelBTabButton BEGIN DUMP             -   Channel Identifier—Text: B                 -   PrsWdgButton—ID(1356): ChannelBTabButton—Status:                     ACTIVE Text:                 -   PrsWdgPrompt—ID(446):                     ChannelTabVolumeUnitsPrompt—Text: mL                 -   PrsWdgPrompt—ID(444): ChannelTabVolumePrompt—Text: 0                 -   PrsWdgPrompt—ID(445):                     ChannelTabRateUnitsPrompt—Text: mL/hr                 -   PrsWdgPrompt—ID(443): ChannelTabRatePrompt—Text: 0             -   PrsWdgChannelTab—ID(1356): ChannelBTabButton END DUMP             -   PrsWdgPatientInfoButton—ID(1473): PatientInfoButton                 BEGIN DUMP                 -   PrsWdgPatientInfoButton—ID(1473):                     PatientInfoButton—Status: ACTIVE CCA Text: Default                 -   Patient Id:             -   PrsWdgPatientInfoButton—ID(1473): PatientInfoButton END                 DUMP                 -   PrsWdgButton—ID(1403): FarviewButton—Status:                     SELECTED Text:             -   PrsCmnWindow ID(7): (AchannelWindow) END DUMP             -   PrsWdgKeypad ID(308): DeviceKeypad BEGIN DUMP                 -   PrsWdgDeviceButton—ID(1312):                     AlarmMinimizedButton—Status: INACTIVE Text: Alarm                 -   PrsWdgDeviceButton—ID(1523): StandbyButton—Status:                     ACTIVE Text: Standby                 -   PrsWdgDeviceButton—ID(1427): LockButton—Status:                     ACTIVE Text: Lock                 -   PrsWdgDeviceButton—ID(1438): LogsButton—Status:                     ACTIVE Text: Logs                 -   PrsWdgDeviceButton—ID(1510): SettingsButton—Status:                     ACTIVE Text: Settings                 -   PrsWdgDeviceButton—ID(1439): ModeButton—Status:                     ACTIVE Text: Mode             -   PrsWdgKeypad ID(308): DeviceKeypad END DUMP             -   PrsWdgStatusBar—ID(369): StatusBar BEGIN DUMP                 -   PrsWdgPrompt—ID(306): CurrentTime—Text: 10:42 AM                 -   PrsWdgBatteryIcon—ID(371): BatteryIcon STATE:                     BatteryOneQtrCharging                 -   PrsWdgWirelessIcon—ID(372): WirelessIcon STATE:                     WirelessSignalNoDevice             -   PrsWdgStatusBar—ID(369): StatusBar END DUMP         -   PrsCmnWindow ID(2): (MainWindow) END DUMP

In one or more embodiments, the current infusion state of the infusion pump may be transmitted to the controller separately, or otherwise known to the controller or derived from the current infusion pump user interface state, for example as obtained from a message in human or computer readable format. In either case, the command to be executed is executed if the command to change the infusion state of the infusion pump is able to be successfully executed based on the command, the current infusion state of the infusion pump and the current infusion pump user interface state. For example, in one scenario, the command is not executed if there is no administration set or cassette hooked up to the infusion pump in order to infuse a desired infusion of insulin or other drug. In another scenario, the command is not executed if the infusion pump is currently shutdown for an alarm as shown in FIG. 4 , or busy delivering another infusion or even another drug in a piggyback operation. Embodiments of the invention thus provide a level of robust sanity checking for infusion delivery that provides the highest level of safety possible.

While the invention herein disclosed has been described by means of specific embodiments and applications thereof, numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims. 

1.-15. (canceled)
 16. An infusion pump system comprising: an infusion pump having an infusion pump user interface and associated infusion pump infusion state and infusion pump user interface state; and a controller coupled with the infusion pump, wherein said controller is configured to: determine a current infusion state of the infusion pump and a current infusion pump user interface state; accept a command to change the infusion state of the infusion pump; determine that the command to change the infusion state of the infusion pump is consistent with the current infusion state of the infusion pump and consistent with the current infusion pump user interface state; and execute the command to change the infusion state of the infusion pump based on the determination that the command to change the infusion state of the infusion pump is able to be successfully executed based on the command, the current infusion state of the infusion pump, and the current infusion pump user interface state.
 17. The infusion pump system of claim 16, wherein said controller is further configured to associate the infusion pump with a medication, a dose, and a patient.
 18. The infusion pump system of claim 16, wherein said controller is further configured to translate the command into an infusion specific command associated with a particular type of infusion pump.
 19. The infusion pump system of claim 16, wherein said command to change the infusion state of the infusion pump comprises a medication, a dose, and a patient.
 20. The infusion pump system of claim 16, wherein said infusion pump is configured to display said command on said infusion pump user interface.
 21. The infusion pump system of claim 16, wherein said controller is further configured to accept a confirmation input button request from said infusion pump.
 22. The infusion pump system of claim 21, wherein said controller is further configured to send a simulated button press command to said infusion pump to initiate infusion.
 23. The infusion pump system of claim 21, wherein said controller is further configured to obtain input from said infusion pump user interface from a user to enable manual control takeover of the infusion pump.
 24. The infusion pump system of claim 23, wherein said controller is further configured to log infusion status to a log file.
 25. The infusion pump system of claim 16, wherein said controller is further configured to authenticate a user before said execute of said command.
 26. The infusion pump system of claim 16, wherein said controller is further configured to associate the infusion pump with at least two pump channels.
 27. The infusion pump system of claim 26, wherein said controller is further configured to verify medication on each of the at least two pump channels.
 28. The infusion pump system of claim 16, wherein said controller further configured to log infusion status to a log file occurs at a conclusion of a duration of the infusion, wherein the duration is a predefined value.
 29. The infusion pump system of claim 16, wherein said command is configured to be generated from an external server remote to said controller.
 30. An infusion pump method comprising: controlling an infusion pump, wherein said infusion pump includes an infusion pump user interface and associated infusion pump infusion state and infusion pump user interface state; determining a current infusion state of the infusion pump and a current infusion pump user interface state using said controller; accepting a command to change the infusion state of the infusion pump using said controller; determining that the command to change the infusion state of the infusion pump is consistent with the current infusion state of the infusion pump and consistent with the current infusion pump user interface state, using said controller; and executing the command to change the infusion state of the infusion pump based on the determination that the command to change the infusion state of the infusion pump is able to be successfully executed based on the command, the current infusion state of the infusion pump and the current infusion pump user interface state. 